{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Illustration of Various Kernels\n",
    "---------------------------------\n",
    "\n",
    "This function wll illustrate how to implement various kernels in TensorFlow.\n",
    "\n",
    "Linear Kernel:\n",
    "\n",
    "$$K(x_1, x_2) = x_1^{T} \\cdot x_2$$\n",
    "\n",
    "Gaussian Kernel (RBF):\n",
    "\n",
    "$$K(x_1, x_2) = e^{(-\\gamma |x_1 - x_2|^2)}$$\n",
    "\n",
    "We start by loading the necessary libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/local/lib/python3.6/site-packages/h5py/__init__.py:34: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n",
      "  from ._conv import register_converters as _register_converters\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import tensorflow as tf\n",
    "from sklearn import datasets\n",
    "from tensorflow.python.framework import ops\n",
    "ops.reset_default_graph()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Start a computational graph session:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "sess = tf.Session()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For this example, we will generate fake non-linear data.  The data we will generate is concentric ring data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Generate non-lnear data\n",
    "(x_vals, y_vals) = datasets.make_circles(n_samples=350, factor=.5, noise=.1)\n",
    "y_vals = np.array([1 if y==1 else -1 for y in y_vals])\n",
    "class1_x = [x[0] for i,x in enumerate(x_vals) if y_vals[i]==1]\n",
    "class1_y = [x[1] for i,x in enumerate(x_vals) if y_vals[i]==1]\n",
    "class2_x = [x[0] for i,x in enumerate(x_vals) if y_vals[i]==-1]\n",
    "class2_y = [x[1] for i,x in enumerate(x_vals) if y_vals[i]==-1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We declare the batch size (large for SVMs), create the placeholders, and declare the $b$ variable for the SVM model."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Declare batch size\n",
    "batch_size = 350\n",
    "\n",
    "# Initialize placeholders\n",
    "x_data = tf.placeholder(shape=[None, 2], dtype=tf.float32)\n",
    "y_target = tf.placeholder(shape=[None, 1], dtype=tf.float32)\n",
    "prediction_grid = tf.placeholder(shape=[None, 2], dtype=tf.float32)\n",
    "\n",
    "# Create variables for svm\n",
    "b = tf.Variable(tf.random_normal(shape=[1,batch_size]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here we will apply the kernel.  Note that the `Linear Kernel` is commented out.  If you choose to use the linear kernel, then uncomment the linear `my_kernel` variable, and comment out the five RBF kernel lines."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Apply kernel\n",
    "# Linear Kernel\n",
    "# my_kernel = tf.matmul(x_data, tf.transpose(x_data))\n",
    "\n",
    "# Gaussian (RBF) kernel\n",
    "gamma = tf.constant(-50.0)\n",
    "dist = tf.reduce_sum(tf.square(x_data), 1)\n",
    "dist = tf.reshape(dist, [-1,1])\n",
    "sq_dists = tf.add(tf.subtract(dist, tf.multiply(2., tf.matmul(x_data, tf.transpose(x_data)))), tf.transpose(dist))\n",
    "my_kernel = tf.exp(tf.multiply(gamma, tf.abs(sq_dists)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Next we compute the SVM model and create a loss function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Compute SVM Model\n",
    "first_term = tf.reduce_sum(b)\n",
    "b_vec_cross = tf.matmul(tf.transpose(b), b)\n",
    "y_target_cross = tf.matmul(y_target, tf.transpose(y_target))\n",
    "second_term = tf.reduce_sum(tf.multiply(my_kernel, tf.multiply(b_vec_cross, y_target_cross)))\n",
    "loss = tf.negative(tf.subtract(first_term, second_term))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Just like we created the kernel for the training points, we need to create the kernel for the test/prediction points.\n",
    "\n",
    "Again, comment/uncomment the appropriate lines for using the linear or RBF kernel."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create Prediction Kernel\n",
    "# Linear prediction kernel\n",
    "# my_kernel = tf.matmul(x_data, tf.transpose(prediction_grid))\n",
    "\n",
    "# Gaussian (RBF) prediction kernel\n",
    "rA = tf.reshape(tf.reduce_sum(tf.square(x_data), 1),[-1,1])\n",
    "rB = tf.reshape(tf.reduce_sum(tf.square(prediction_grid), 1),[-1,1])\n",
    "pred_sq_dist = tf.add(tf.subtract(rA, tf.multiply(2., tf.matmul(x_data, tf.transpose(prediction_grid)))), tf.transpose(rB))\n",
    "pred_kernel = tf.exp(tf.multiply(gamma, tf.abs(pred_sq_dist)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In order to use the kernel to classify points, we create a prediction operation.  This prediction operation will be the sign ( positive or negative ) of the model outputs.  The accuracy can then be computed if we know the actual target labels."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "prediction_output = tf.matmul(tf.multiply(tf.transpose(y_target),b), pred_kernel)\n",
    "prediction = tf.sign(prediction_output-tf.reduce_mean(prediction_output))\n",
    "accuracy = tf.reduce_mean(tf.cast(tf.equal(tf.squeeze(prediction), tf.squeeze(y_target)), tf.float32))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We now declare the optimizer and variable initialization operations."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Declare optimizer\n",
    "my_opt = tf.train.GradientDescentOptimizer(0.002)\n",
    "train_step = my_opt.minimize(loss)\n",
    "\n",
    "# Initialize variables\n",
    "init = tf.global_variables_initializer()\n",
    "sess.run(init)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We start the training loop for the SVM.  We will randomly choose a batch of points and run the train step.  Then we calculate the loss and accuracy."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step #250\n",
      "Loss = 25.886065\n",
      "Step #500\n",
      "Loss = -2.456026\n",
      "Step #750\n",
      "Loss = -11.023096\n",
      "Step #1000\n",
      "Loss = -11.144409\n"
     ]
    }
   ],
   "source": [
    "# Training loop\n",
    "loss_vec = []\n",
    "batch_accuracy = []\n",
    "for i in range(1000):\n",
    "    rand_index = np.random.choice(len(x_vals), size=batch_size)\n",
    "    rand_x = x_vals[rand_index]\n",
    "    rand_y = np.transpose([y_vals[rand_index]])\n",
    "    sess.run(train_step, feed_dict={x_data: rand_x, y_target: rand_y})\n",
    "    \n",
    "    temp_loss = sess.run(loss, feed_dict={x_data: rand_x, y_target: rand_y})\n",
    "    loss_vec.append(temp_loss)\n",
    "    \n",
    "    acc_temp = sess.run(accuracy, feed_dict={x_data: rand_x,\n",
    "                                             y_target: rand_y,\n",
    "                                             prediction_grid:rand_x})\n",
    "    batch_accuracy.append(acc_temp)\n",
    "    \n",
    "    if (i+1)%250==0:\n",
    "        print('Step #' + str(i+1))\n",
    "        print('Loss = ' + str(temp_loss))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To plot a pretty picture of the regions we fit, we create a fine mesh to run through our model and get the predictions.  (This is very similar to the SVM plotting code from sci-kit learn)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create a mesh to plot points in\n",
    "x_min, x_max = x_vals[:, 0].min() - 1, x_vals[:, 0].max() + 1\n",
    "y_min, y_max = x_vals[:, 1].min() - 1, x_vals[:, 1].max() + 1\n",
    "xx, yy = np.meshgrid(np.arange(x_min, x_max, 0.02),\n",
    "                     np.arange(y_min, y_max, 0.02))\n",
    "grid_points = np.c_[xx.ravel(), yy.ravel()]\n",
    "[grid_predictions] = sess.run(prediction, feed_dict={x_data: x_vals,\n",
    "                                                   y_target: np.transpose([y_vals]),\n",
    "                                                   prediction_grid: grid_points})\n",
    "grid_predictions = grid_predictions.reshape(xx.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the results"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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uOIKBfTWW2/VoqIiHTRokLv+5Zdf1sOHD+sDDzyge/bs0ccee0zfe+89veyyy9w8o0aN0vnz54ct+z/+8Q+dO3eurl69Wh977LGQ88/NzVVAL7zwQlVVLSoq0jFjxujYsWP1yy+/jPiZzJo1SydOnKiqqs8//7zOmzdPVVXz8vJ06NChetlll+mQIUP0p59+Cthuzpw52r59e33//ff1qaeeUlXVgoICHTFihN5888164YUXKqDjx4/XGTNm6MSJEzUvL0/vuOMO93zD2bhxoz7yyCNaWFgYscyxAIs0nut2PJkSfSUrKHhfZ599dsIfijFlTbQLQXGccsopCujWrVvdtKKiIr3zzjt1+vTpblp+fr4OHjxY//Of/6iq6vjx490y3HHHHaqq+pvf/EYBfeWVVwKOUVhY6OYFtHfv3u77ESNG6K5du/Sqq67SnJwcN/3rr78O2Cb49dxzz+lrr72mgF500UVR815zzTX60EMP6euvv679+vULm8e50M+aNUvPP/98ffPNN911b7zxhq5cuTIgf8+ePcMGHGe9E1SysrL0iy++CDlet27d9Pe//72qqn700Uch60ePHq3169ePel6zZs0KWL7qqqt07dq1AeXp2bOnArpkyZKE/4+Uh6Dwd3wzVTnL3wONY+3TgoKpCJ555hk944wzShwU/vznP2unTp20SpUq7r6WLVumqqpLly5VQKtXr66nnnqqzp8/X5csWaKAduzYURctWhRwMerTp48ePXpUr7zySgX00ksvVUBPOukkPf3003Xs2LERL2x9+vTRf//731EvfrFesS6e8b4mTJgQELC8rx49eoSk1a5dWxs3bqzz5s1L+JgnnniiNm/ePCnl976cWpbz+uqrrxL+v1IegsLlwMf4Jhs/B1gQzz4tKJiy6siRI7pt27aI63fs2KEHDhzQTZs2hfzxv/TSS6qqunnzZl2/fn1AM8jBgwd13bp1un37dh04cKAbRH744YeoFxTnF7/zGjJkiPu+a9euSb+AvfTSS0nf5/F8tWzZstTLEOtVkqZGSjsoAJOALUA+vvlmhwLDgGH+9QJMAP6Lb97amE1HakHBlGH9+/dXIGy7/rRp0xTQpk2bhv1j79atm+7du9ddHj9+vKqqfvXVV3r11VeH5H/nnXeKfUGpWrVqSi9YkZp0jtfr9NNPD0kbM2aMW+MpK6/bbrtNu3fvntC2L7zwQsL/PyntoJCqlwUFU1Y5f7iHDx8OSF+9enXMP/bu3bvr9u3b3eW+ffvq+vXrS/0CFuuVlZWl48aNK/VyDB48WPPz87V27doK6MSJE3Xnzp2qqjphwoRi72/evHm6cOFC/b//+z8955xz3PRnn31Wp0yZ4p67d5vWrVvrd99953a016xZM+y+Fy5cqDNnzox47Ly8PN2wYYMbxL0/CnJzc0vy/9OCgjGpMHfuXLe5x8v5w/35558D0ufPnx/zInTeeefpli1b3OWrrrpK16xZU+oX21iv/Px8nTFjRsx8vXr1Sqh55tRTTw2bnp2dHbC8Zs0aVVUdN26c1qlTJ6TDffv27bpv3z63Qx7QM888033/448/6tatW91lL6ez/Pvvv9eioiI3yNeuXVuPHDmiBw8e1EOHDml+fr67zdGjR7WgoCDiRV9V9dChQyGBIzMz093HkSNHdM+ePW65MjIySvT/1oKCMSng/YUXzElfv359QHo8QeHUU08NuEjl5OREvCAm8nr//ffjzuu9eyjS6+6779ZHH31UVTXsXTmjRo0KWHbugIq13/79+2tOTo526dJFP/jgg5DPNjMzU3v16qWbN2/WMWPG6NNPP12s72/hwoV66aWXurW5P/7xj9qrVy/3gh7pu/VyanC1a9eOebznn39ef/nLXwY0rXk1a9bMTb/qqqt05syZIfsoKirSX//61zpr1qx4TzMsCwrGpID3AuYoKirSoqIiN33FihUB27Ru3TppF/dEX6qqffr0iTvv9OnTo+bZtWuXe34LFixw0y+55BKdMGGCqgYGizlz5oR8ft7Xfffdp7/97W/14MGDUT/3888/P2nfZbTjROM089WtW7dY+545c6b+9a9/DUhbtWqVXnrppfrEE08Uu6zFZUHBmAQ0b95coz0g6b2QHTx4UDdv3qyADh061E1fsGCB7tq1Sz/55JNSDwZLlizRTz75RFU14i2l3hqK94I4d+5cnT17tpvu7dz2dqYvW7Ys4kXyvPPOU0A///zzkM+vXr16+tVXX7nronG2iXZ3VzLEExT27dun4GsSK08sKBiTgFgXBe9FLdLdNq+88kqpB4Nw5xGpjXvnzp0Rt/Gec15enm7fvl2/+eabgPVO30eDBg1CtnWe4P3ss89UVd2O4HfffVc3btyYtO8lWVatWhXy4Fg4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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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/r1g/TYAd/+faPV1F1Nqe/HFFzn11FPLvbgo7J///CeffPIJkydPpkWLFrz88succcYZvPvuu2W31lZ8LmPkyJF8+OGHDRpjx44dyc/PL1dmZlxxxRVs376d8ePH07NnTwYMGEBJSQkdO3Zk69atAAwY8O3w2759+9i9ezddu3Zt0PgkNTXK21zNLA34HDgTyAVygAnuviJafSUIqa+SkhIOHjxIWloaZkaLFi0AyMzMZOfOnTzwwANMmTKF2267jY8++oif/vSndO/enauuuqrKO6EyMjIoKCioV2zHHnss69atK1c2ffp0xo4dywsvvFD2no2NGzdyyy23kJaWRnp6OiUlJbRr145mzZoxe/Zsxo4dS9u2bTn11FNZuHAh+fn5nHfeeWXHXLp0Kf379y/Xbbd///5y67Uxa9YsTjzxxHrdnRa2Z8+ecrdFS8NolAkCwMzOB34PNAeecvf7KqurBCENbfr06eTm5vLTn/6UNWvWcMYZZ0Std+jQIdydxYsX8/jjj9OtWzeuu+46du3axRtvvMEtt9zCRx99xOTJkxk5ciQ333wzTz75JA8//HCcz6hyZ5xxBl26dOGFF14AYPLkyXz++eflJkycMGECPXr04KWXXiIrK4uPP/4YCE20mJOTQ4sWLejQoQP9+vVj+fLluHtZy+yZZ55hz549XHTRRbz33nts376dyy67jC1btvDee+/x3HPPUVJSwhNPPEH//v1Zv349+fn55OXlMXjwYO6++25mzpzJ66+/zjfffMO4ceNYu3YtaWlpLFy4kEmTJvHFF18waNAgDh48yLp161i9ejW9e/fm6KOPZtGiRZx99tmUlpZSUlJCy5YtMTNKSkpYsGABhw4domPHjgwePLjcFDI7d+6kY8eOrF+/nv3799O7d+9yc5BV5O4cPHiQnTt30rx5c7KyskLdM8ExI5ejKS4uPmysatWqVXTu3JmsrCz27dtHeno6Bw8exN3rnLgjNdoEURtKENKYHDp0iD179tC6dWtWrlyJmfHqq6+yd+9eTjnlFH7729/y4YcfUlBQwIEDB9izZw/33nsvGRkZHDx4kMzMTO65556ox27Xrh2lpaX07NmTzz//nKFDh7Jlyxa++eabOJ9l8uncuTPbt28HQrdUt2/fPmrrrlmzZnTs2LHspodo0tLSKCkpYdCgQfTq1YtBgwbxyiuv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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot points and grid\n",
    "plt.contourf(xx, yy, grid_predictions, cmap=plt.cm.Paired, alpha=0.8)\n",
    "plt.plot(class1_x, class1_y, 'ro', label='Class 1')\n",
    "plt.plot(class2_x, class2_y, 'kx', label='Class -1')\n",
    "plt.title('Gaussian SVM Results')\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('y')\n",
    "plt.legend(loc='lower right')\n",
    "plt.ylim([-1.5, 1.5])\n",
    "plt.xlim([-1.5, 1.5])\n",
    "plt.show()\n",
    "\n",
    "# Plot batch accuracy\n",
    "plt.plot(batch_accuracy, 'k-', label='Accuracy')\n",
    "plt.title('Batch Accuracy')\n",
    "plt.xlabel('Generation')\n",
    "plt.ylabel('Accuracy')\n",
    "plt.legend(loc='lower right')\n",
    "plt.show()\n",
    "\n",
    "# Plot loss over time\n",
    "plt.plot(loss_vec, 'k-')\n",
    "plt.title('Loss per Generation')\n",
    "plt.xlabel('Generation')\n",
    "plt.ylabel('Loss')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Prediction/Evaluation\n",
    "\n",
    "Here is code on how to predict the class on new or unseen data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "# New data points:\n",
    "new_points = np.array([(-0.75, -0.75),\n",
    "                       (-0.5, -0.5),\n",
    "                       (-0.25, -0.25),\n",
    "                       (0.25, 0.25),\n",
    "                       (0.5, 0.5),\n",
    "                       (0.75, 0.75)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "[evaluations] = sess.run(prediction, feed_dict={x_data: x_vals,\n",
    "                                                y_target: np.transpose([y_vals]),\n",
    "                                                prediction_grid: new_points})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[-0.75 -0.75] : class=-1.0\n",
      "[-0.5 -0.5] : class=1.0\n",
      "[-0.25 -0.25] : class=1.0\n",
      "[0.25 0.25] : class=1.0\n",
      "[0.5 0.5] : class=1.0\n",
      "[0.75 0.75] : class=-1.0\n"
     ]
    }
   ],
   "source": [
    "for ix, p in enumerate(new_points):\n",
    "    print('{} : class={}'.format(p, evaluations[ix]))"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
